<html>
<head><meta charset="utf-8"><title>rollups and bors · t-infra · Zulip Chat Archive</title></head>
<h2>Stream: <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/index.html">t-infra</a></h2>
<h3>Topic: <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html">rollups and bors</a></h3>

<hr>

<base href="https://rust-lang.zulipchat.com">

<head><link href="https://rust-lang.github.io/zulip_archive/style.css" rel="stylesheet"></head>

<a name="200758199"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200758199" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200758199">(Jun 13 2020 at 09:44)</a>:</h4>
<p>I have been doing the occasional rollup recently to try and help with the queue a bit, but it is overall quite painful. I have a lot of thoughts on how the rollup procedure could be improved with some more help from bors, though I don't know how feasible any of that is. What would be the best place to write down these ideas?</p>



<a name="200758588"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200758588" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200758588">(Jun 13 2020 at 09:54)</a>:</h4>
<p>for example, right now the act of creating a new rollup that is like a previous on but with one PR removed/swapped (because that PR failed) is a <em>lot</em> of work. I just did that 3 times in a row as new evidence came in of failures elsewhere (and as I made mistakes while doing this), it is really rather annoying. It would be great if bors knew about rollups, and if I could tell it to please select the same PRs as in that existing rollup, except for the few I want to change.</p>



<a name="200759407"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759407" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759407">(Jun 13 2020 at 10:17)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120791">RalfJ</span> <a href="#narrow/stream/242791-t-infra/topic/rollups.20and.20bors/near/200758588">said</a>:</p>
<blockquote>
<p>for example, right now the act of creating a new rollup that is like a previous on but with one PR removed/swapped (because that PR failed) is a <em>lot</em> of work. I just did that 3 times in a row as new evidence came in of failures elsewhere (and as I made mistakes while doing this), it is really rather annoying. It would be great if bors knew about rollups, and if I could tell it to please select the same PRs as in that existing rollup, except for the few I want to change.</p>
</blockquote>
<p>while that sounds complex to implement properly (as bors doesn't keep track of rollups in any way currently, and I'm wary about changing the backend), I have a couple of ideas that could address this problem</p>



<a name="200759421"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759421" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759421">(Jun 13 2020 at 10:17)</a>:</h4>
<p>one is to implement it client side with javascript: the list of rolled up PRs is stored in the localStorage, and brought up when a button is clicked -- this approach is the simplest, but it only works on the same browser</p>



<a name="200759480"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759480" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759480">(Jun 13 2020 at 10:19)</a>:</h4>
<p>another approach is to add a "Create a similar rollup" link in the rollup PR body, with the link going to <a href="https://bors.rust-lang.org/queue/rust?preselect=12345,6583,342345">https://bors.rust-lang.org/queue/rust?preselect=12345,6583,342345</a></p>



<a name="200759481"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759481" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759481">(Jun 13 2020 at 10:19)</a>:</h4>
<blockquote>
<p>as bors doesn't keep track of rollups in any way currently, and I'm wary about changing the backend</p>
</blockquote>
<p>I think bors really should learn about rollus at some point, and even start creating them automatically (like <a href="https://app.bors.tech/">https://app.bors.tech/</a> does). the recent queue size has shown quite clearly IMO that manual rollups do not scale.</p>



<a name="200759486"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759486" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759486">(Jun 13 2020 at 10:19)</a>:</h4>
<p><span class="user-mention silent" data-user-id="121055">Pietro Albini</span> <a href="#narrow/stream/242791-t-infra/topic/rollups.20and.20bors/near/200759480">said</a>:</p>
<blockquote>
<p>another approach is to add a "Create a similar rollup" link in the rollup PR body, with the link going to <a href="https://bors.rust-lang.org/queue/rust?prs=12345,6583,342345">https://bors.rust-lang.org/queue/rust?prs=12345,6583,342345</a></p>
</blockquote>
<p>that sounds like a great short-term improvement :)</p>



<a name="200759541"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759541" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759541">(Jun 13 2020 at 10:20)</a>:</h4>
<p>another point that I think should be easy: remove/disable the "rollup" checkbox for PRs that are rollup=never or not r+'d.</p>



<a name="200759543"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759543" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759543">(Jun 13 2020 at 10:20)</a>:</h4>
<p>definitely!</p>



<a name="200759551"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759551" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759551">(Jun 13 2020 at 10:21)</a>:</h4>
<p><span class="user-mention" data-user-id="120791">@RalfJ</span> if you open issues for this in the homu repo and cc me I'll prepare mentoring instructions</p>



<a name="200759558"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759558" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759558">(Jun 13 2020 at 10:21)</a>:</h4>
<p>hopefully there are people interested in working on bors :)</p>



<a name="200759562"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759562" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759562">(Jun 13 2020 at 10:21)</a>:</h4>
<p>like <a href="https://github.com/rust-lang/homu/issues/80">https://github.com/rust-lang/homu/issues/80</a> ? ;)</p>



<a name="200759600"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759600" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759600">(Jun 13 2020 at 10:22)</a>:</h4>
<p>ehm... yes :)</p>



<a name="200759613"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759613" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759613">(Jun 13 2020 at 10:22)</a>:</h4>
<p>(still CC me so I get the email for monday)</p>



<a name="200759626"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759626" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759626">(Jun 13 2020 at 10:23)</a>:</h4>
<p><span class="user-mention silent" data-user-id="120791">RalfJ</span> <a href="#narrow/stream/242791-t-infra/topic/rollups.20and.20bors/near/200759481">said</a>:</p>
<blockquote>
<blockquote>
<p>as bors doesn't keep track of rollups in any way currently, and I'm wary about changing the backend</p>
</blockquote>
<p>I think bors really should learn about rollus at some point, and even start creating them automatically (like <a href="https://app.bors.tech/">https://app.bors.tech/</a> does). the recent queue size has shown quite clearly IMO that manual rollups do not scale.</p>
</blockquote>
<p>I really just want to get gha done tbh</p>



<a name="200759631"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759631" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759631">(Jun 13 2020 at 10:23)</a>:</h4>
<p>that would help the queue way more than automatic rollups</p>



<a name="200759679"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759679" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759679">(Jun 13 2020 at 10:24)</a>:</h4>
<p>for a time, yes ;)</p>



<a name="200759697"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200759697" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> RalfJ <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200759697">(Jun 13 2020 at 10:25)</a>:</h4>
<p>something else that might also require server-side state is making sure two rollups are disjoint. when the queue is really long, I sometimes ended up creating a 2nd rollup while <span class="user-mention" data-user-id="120823">@DPC</span> 's was still going, so that when that one finished (pass or fail), there would be immediately the next rollup to run.</p>



<a name="200762334"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200762334" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> DPC <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200762334">(Jun 13 2020 at 11:41)</a>:</h4>
<p>generally if a pr is not approved, it won't show up in the list of prs in the rollup</p>



<a name="200762543"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200762543" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> DPC <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200762543">(Jun 13 2020 at 11:46)</a>:</h4>
<p>also i wonder if we can automate the "failed in rollup message" so that either the author or anyone else could do <code>@rustbot / @bors blame #no</code> and it would automatically paste the message on that pr and r- it</p>



<a name="200884962"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200884962" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200884962">(Jun 15 2020 at 12:56)</a>:</h4>
<p>wrote mentoring instructions for the two issues:</p>
<ul>
<li><a href="https://github.com/rust-lang/homu/issues/80">https://github.com/rust-lang/homu/issues/80</a></li>
<li><a href="https://github.com/rust-lang/homu/issues/89">https://github.com/rust-lang/homu/issues/89</a></li>
</ul>



<a name="200884983"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200884983" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200884983">(Jun 15 2020 at 12:57)</a>:</h4>
<p>feel free to work on them :)</p>



<a name="200922055"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200922055" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> DPC <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200922055">(Jun 15 2020 at 17:41)</a>:</h4>
<p>i know people interested in working on such stuff <span aria-label="slight smile" class="emoji emoji-1f642" role="img" title="slight smile">:slight_smile:</span> will pass it to them</p>



<a name="200936255"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200936255" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200936255">(Jun 15 2020 at 19:48)</a>:</h4>
<p>I see rust-lang/homu is forked from servo/homu, should the PR still be made against rust-lang/homu?</p>



<a name="200940509"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200940509" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> marmeladema <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200940509">(Jun 15 2020 at 20:22)</a>:</h4>
<p>Anyway, I gave it a shot: <a href="https://github.com/rust-lang/homu/pull/90">https://github.com/rust-lang/homu/pull/90</a></p>



<a name="200947926"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200947926" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200947926">(Jun 15 2020 at 21:25)</a>:</h4>
<p><span class="user-mention" data-user-id="281572">@marmeladema</span> yeah, it should be made against rust-lang</p>



<a name="200947958"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200947958" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200947958">(Jun 15 2020 at 21:25)</a>:</h4>
<p>the fork a lot</p>



<a name="200948008"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200948008" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> Pietro Albini <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200948008">(Jun 15 2020 at 21:26)</a>:</h4>
<p>I'll review it in the morning!</p>



<a name="200956580"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200956580" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> DPC <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200956580">(Jun 15 2020 at 23:09)</a>:</h4>
<p><span class="user-mention" data-user-id="310140">@mental</span> would like to work on <a href="https://github.com/rust-lang/rust/issues/89">#89</a></p>



<a name="200956721"></a>
<h4><a href="https://rust-lang.zulipchat.com#narrow/stream/242791-t-infra/topic/rollups%20and%20bors/near/200956721" class="zl"><img src="https://rust-lang.github.io/zulip_archive/assets/img/zulip.svg" alt="view this post on Zulip" style="width:20px;height:20px;"></a> mental <a href="https://rust-lang.github.io/zulip_archive/stream/242791-t-infra/topic/rollups.20and.20bors.html#200956721">(Jun 15 2020 at 23:11)</a>:</h4>
<p>^ Yup, just taking a look at the code now.</p>



<hr><p>Last updated: Aug 07 2021 at 22:04 UTC</p>
</html>